Conventional disk drives with magnetic media organize data in concentric tracks that are spaced apart. The concept of shingled writing is a form of perpendicular magnetic recording and has been proposed as a way of increasing the areal density of magnetic recording. In shingle-written magnetic recording (SMR) media a region (band) of adjacent tracks are written so as to overlap one or more previously written tracks. The shingled tracks must be written in sequence unlike conventionally separated tracks, which can be written in any order. The tracks on a disk surface are organized into a plurality of shingled regions (also called I-region) which can be written sequentially from an inner diameter (ID) to an outer diameter (OD) or from OD to ID. The number of tracks shingled together in a region is a key performance parameter of shingled-writing. Once written in shingled structure, an individual track cannot be updated in place, because that would overwrite and destroy the overlapping tracks. Shingle-written data tracks, therefore, from the user's viewpoint are sometimes thought of like append-only logs. To improve the performance of SMR drives, a portion of the media is allocated to a so-called “exception region” (E-region) which is used as staging area for data which will ultimately be written to an I-region. The E-region is sometimes referred to as an E-cache.
Address indirection in the shingle-written storage device's internal architecture is useful to emulate existing host interfaces at least to some extent and shield the host from the complexities associated with SMR. Conventionally host file systems use logical block addresses (LBAs) in commands to read and write blocks of data without regard for actual locations (physical block address (PBA)) used internally by the storage device. Hard disk drives have had some level of LBA-PBA indirection for decades that, among other things, allows bad sectors on the disk to be remapped to good sectors that have been reserved for this purpose. Address indirection is typically implemented in the controller portion of the drive's architecture. The controller translates the LBAs in host commands to an internal physical address, or something closer to a physical address.
The conventional LBA-PBA mapping for defects does not need to be changed often. In contrast, in an SMR device the physical block address (PBA) of a logical block address (LBA) can change depending on write-history. For example, background processes such as garbage collection move data sectors from one PBA to another but the LBA stays the same. The indirection system for SMR is a natively dynamic system in which the controller translates host address requests to physical locations. In a SMR system, the LBA-PBA mapping changes with every write operation because the system dynamically determines the physical location on the media where the host data for an LBA will be written. The same LBA will be written to a different location the next time the host LBA is updated. The indirection system provides a dynamic translation layer between host LBAs and the current physical locations on the media.
The storage device's design must provide for the indirection address mapping scheme to be recoverable after emergency power off, so the mapping of logical block addresses (LBA) to physical locations must be recorded in persistent media. Prior art file systems maintain a separate area on the disks for metadata storage used to track LBA locations. However, such a solution exhibits poor performance for a disk drive, since it requires additional seeks to and from metadata area.
Prior art methods of handling disk drive RAM caches had to provide solutions to power loss problems. In U.S. Pat. No. 6,378,037 to Hall (Apr. 23, 2002) fail-safe write caching used specially arranged portions of a disk surface to store write cache data during drive idle time. In case of a system or power failure before the data is written to its ultimate disk destination, the data can be read from the specially arranged portions to effect recovery without data loss.